package co.com.claro.servicio.negocio;

import co.com.claro.servicio.od.MenuOd;
import org.apache.log4j.Logger;
import co.com.claro.servicio.io.LoginIo;
import co.com.claro.servicio.od.UsuarioOd;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;

/**
 * Created by IntelliJ IDEA.
 * User: Manuel Serrano
 * Date: 20/05/2010
 * Time: 02:52:00 PM
 * To change this template use File | Settings | File Templates.
 */
public class LoginServicio implements ILoginServicio,Serializable {
    private static final Logger logger = Logger.getLogger(LoginServicio.class);

    /** El Data Access Object
     */
    private LoginIo loginIo;




    /** Constructor de la clase
     */
    public LoginServicio (){
    }



    public List<UsuarioOd> validarUsuario (String transaccionId, UsuarioOd u) throws Exception {
        final String origen = "loginServicio.validarUsuario";

        long time;
        List<UsuarioOd> Usuario = null;

        try {

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.inicio.ser")+LoginServicio.class+" | "+origen);

            time = System.currentTimeMillis ();

            Usuario=new ArrayList<UsuarioOd>();
            Usuario = getLoginIo().validarUsuario(transaccionId,u);

            time = System.currentTimeMillis () - time;

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.exitos.ser")+LoginServicio.class+" | "+origen);
        }
        catch (Exception ex) {
            logger.error(ex);
        }

        return (Usuario);
    }

    public List<MenuOd> menu (String transaccionId, UsuarioOd u) throws Exception {
        final String origen = "loginServicio.menu";

        long time;
        List<MenuOd> menus = null;

        try {

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.inicio.ser")+LoginServicio.class+" | "+origen);

            time = System.currentTimeMillis ();

            menus=new ArrayList<MenuOd>();
            menus = getLoginIo().menu(transaccionId,u);

            time = System.currentTimeMillis () - time;

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.exitos.ser")+LoginServicio.class+" | "+origen);
        }
        catch (Exception ex) {
            logger.error(ex);
        }

        return (menus);
    }




    public LoginIo getLoginIo() {
        return loginIo;
    }

    public void setLoginIo(LoginIo loginIo) {
        this.loginIo = loginIo;
    }
}
